package com.sc.study.foundation.domain;

import com.sc.common.core.domain.entity.SysUser;
import com.sc.study.exam.domain.ScQuestion;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sc.common.annotation.Excel;
import com.sc.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 课程对象 sc_subject
 * 
 * @author sc
 * @date 2022-02-27
 */
public class ScSubject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long subid;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String subname;

    /** 年级编号 */
    @Excel(name = "年级编号")
    private Long gradeid;

    /** 总课时 */
    @Excel(name = "总课时")
    private Long subtime;

    /** 每次消耗课时 */
    @Excel(name = "每次消耗课时")
    private Long subattime;

    /** 每课时费用 */
    @Excel(name = "每课时费用")
    private Long subtimemoney;

    /** 老师每课时费用 */
    @Excel(name = "老师每课时费用")
    private Long subtimeteachermoney;

    /** 每周多少次课 */
    @Excel(name = "每周多少次课")
    private Long subweeknum;

    /** 不连续多少次 */
    @Excel(name = "不连续多少次")
    private Long subcontinue;

    //user 就是 teacher
    private List<SysUser> users;

    /** 老师ID*/
    private Long userId;

    /** 年级 */
    private ScGrade scGrade;

    // 选择题的题目对象
    private List<ScQuestion> scQuestionByOption;

    public List<ScQuestion> getScQuestionByOption() {
        return scQuestionByOption;
    }

    public void setScQuestionByOption(List<ScQuestion> scQuestionByOption) {
        this.scQuestionByOption = scQuestionByOption;
    }

    public Long getSubweeknum() {
        return subweeknum;
    }

    public void setSubweeknum(Long subweeknum) {
        this.subweeknum = subweeknum;
    }

    public Long getSubcontinue() {
        return subcontinue;
    }

    public void setSubcontinue(Long subcontinue) {
        this.subcontinue = subcontinue;
    }

    public ScGrade getScGrade() {
        return scGrade;
    }

    public void setScGrade(ScGrade scGrade) {
        this.scGrade = scGrade;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public void setUsers(List<SysUser> users) {
        this.users = users;
    }

    public List<SysUser> getUsers() {
        return users;
    }

    public void setSubid(Long subid)
    {
        this.subid = subid;
    }

    public Long getSubid() 
    {
        return subid;
    }
    public void setSubname(String subname) 
    {
        this.subname = subname;
    }

    public String getSubname() 
    {
        return subname;
    }
    public void setGradeid(Long gradeid) 
    {
        this.gradeid = gradeid;
    }

    public Long getGradeid() 
    {
        return gradeid;
    }
    public void setSubtime(Long subtime) 
    {
        this.subtime = subtime;
    }

    public Long getSubtime() 
    {
        return subtime;
    }
    public void setSubattime(Long subattime) 
    {
        this.subattime = subattime;
    }

    public Long getSubattime() 
    {
        return subattime;
    }
    public void setSubtimemoney(Long subtimemoney) 
    {
        this.subtimemoney = subtimemoney;
    }

    public Long getSubtimemoney() 
    {
        return subtimemoney;
    }
    public void setSubtimeteachermoney(Long subtimeteachermoney) 
    {
        this.subtimeteachermoney = subtimeteachermoney;
    }

    public Long getSubtimeteachermoney() 
    {
        return subtimeteachermoney;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("subid", getSubid())
            .append("subname", getSubname())
            .append("gradeid", getGradeid())
            .append("subtime", getSubtime())
            .append("subattime", getSubattime())
            .append("subtimemoney", getSubtimemoney())
            .append("subtimeteachermoney", getSubtimeteachermoney())
            .toString();
    }

    public ScSubject() {
    }

    public ScSubject(Long subid, String subname, Long gradeid) {
        this.subid = subid;
        this.subname = subname;
        this.gradeid = gradeid;
    }
}
